#ifndef __MENU_H__
#define __MENU_H__

class Application;

#include <iostream>
#include "Application.h"
#include "ShapeContainer.h"
#include <string>
#include <conio.h>

using namespace std;

class Menu
{
	ShapeContainer m_shapeCon;
	unsigned int m_option;
	Application* m_app;

	void selection() ;
	void addShapeSelection() ;
	void saveFileSelection() ;
	void loadFileSelection() ; 
	void checkIfAllSaved()  ;
	void drawMenu() const;
	void getInput() {cout << "\tChoose an option: "; cin >> m_option;}
	bool legal(unsigned int option) const ;
	bool legalAddShape(unsigned int option) const;
	bool legalSaveFile(unsigned int option) const;
	bool legalMethod(char option) const;
	void chooseShapeToAdd ();
	void chooseWriteMethod ();
	bool exit()  const {return (m_option == 9) ? true : false;}
public:
	Menu();
	~Menu();
	Menu( ShapeContainer& shapeCon1);
	void run() ;
};

#endif

